pragma License (GPL);
--
-- drk-bigint-io.adb
--
-- Copyright (C) 2012 - Thibault BUREL
--
-- This file is part of DRK.BigRat.
--
-- DRK.BigRat is free software: you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
-- the Free Software Foundation, either version 3 of the License, or
-- (at your option) any later version.
--
-- DRK.BigRat is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-- GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with DRK.BigRat.  If not, see <http://www.gnu.org/licenses/>
--
with Ada.Text_IO;

package body DRK.BigInt.IO is

   use type Digit_List.List;
   use type Digit_List.Cursor;

   --------------------------------------
   --  Private functions declarations  --
   --------------------------------------
   package Chunck_IO is new Ada.Text_IO.Modular_IO(Chunck);

   -----------------------------
   --  Functions definitions  --
   -----------------------------
   procedure Raw_Display (N : in Instance)
   is
      C : Digit_List.Cursor := N.Mantissa.Last;
   begin

      while C /= Digit_List.No_Element loop

         Chunck_IO.Put (Item => Digit_List.Element (C), Base => 16);

         C := Digit_List.Previous (C);

         if C /= Digit_List.No_Element then
            Ada.Text_IO.Put ("_");
         end if;

      end loop;

      Ada.Text_IO.New_Line;

   end Raw_Display;

end DRK.BigInt.IO;
